#ifndef NETWORK_MONITOR_H
#define NETWORK_MONITOR_H

#include <pthread.h>

// 网络接口统计结构体
typedef struct {
    char name[16];                    // 接口名称
    unsigned long long rx_bytes;      // 接收字节数
    unsigned long long tx_bytes;      // 发送字节数
    unsigned long long rx_packets;    // 接收数据包数
    unsigned long long tx_packets;    // 发送数据包数
    double rx_speed;                  // 接收速度（KB/s）
    double tx_speed;                  // 发送速度（KB/s）
} Network_Stats;

// 网络监控线程参数结构体
typedef struct {
    int interval;     // 监控间隔（秒）
    int running;      // 线程运行标志
} Network_Monitor_Args;

// 函数声明
void* network_monitor_thread(void* arg);
int init_network_monitor(void);
void cleanup_network_monitor(void);
Network_Stats get_network_stats(void);

#endif // NETWORK_MONITOR_H 